﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="Robocopy.cs" company="Drunk in the ER Productions">
//  GNU General Public License version 2 (GPLv2)
//  http://robogui.codeplex.com/license 
// </copyright>
// <summary>
//   Defines the RoboCopy type.
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace RoboGUI
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    /// <summary>
    /// RoboCopy class used to track various command-line switches
    /// </summary>
    public class RoboCopy
    {
        private string _copySubs;
        private string _copyEmptySubs;
        private string _restartableMode;
        private string _backupMode;
        private string _restartablebackupMode;
        private string _sourceServer;
        private string _targetServer;

        public RoboCopy()
        {
            this._copySubs = "/S ";
            this._copyEmptySubs = "/E ";
            this._restartableMode = "/Z ";
            this._backupMode = "/B ";
            this._restartablebackupMode = "/ZB ";
        }

        public string CopySubs
        {
            get
            {
                return this._copySubs;
            }
        }
        public string CopyEmptySubs
        {
            get
            {
                return this._copyEmptySubs;
            }
        }
        public string RestartableMode
        {
            get
            {
                return _restartableMode;   
            }
        }
        public string BackupMode
        {
            get
            {
                return _backupMode;
            }
        }
        public string RestartableBackupMode
        {
            get
            {
                return _restartablebackupMode;
            }
        }
        public string SourceServer
        {
            get
            {
                return this._sourceServer;
            }

            set
            {
                this._sourceServer = value + " ";
            }
        }
        public string TargetServer
        {
            get
            {
                return this._targetServer;
            }
            
            set
            {
                this._targetServer = value + " ";
            }
        }
    }
}
